home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Mac OS SDK / Dev.CD Oct 96 SDK / Dev.CD Oct 96 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / Developer University / DUProjects / Talker / Sources / Commands.cpp < prev    next >
Encoding:
Text File  |  1996-08-16  |  2.0 KB  |  74 lines  |  [TEXT/CWIE]

  1. //    Copyright © 1995-96 Apple Computer, Inc. All rights reserved.
  2. //    Release Version:    $ ODF 1 $
  3.  
  4. //=============================================================================
  5. #ifndef COMMANDS_H
  6. #include "Commands.h"                // CTalkerCommand
  7. #endif
  8.  
  9. #ifndef DEFINES_K
  10. #include "Defines.k"                // command numbers
  11. #endif
  12.  
  13. #ifndef SOM_DevUniv_STalker_xh
  14.     #include "STalker.xh"            // for SOM STalker
  15. #endif 
  16.  
  17. //=============================================================================
  18. #ifdef FW_BUILD_MAC
  19. #pragma segment Talker
  20. #endif
  21.  
  22. FW_DEFINE_AUTO(CTalkerCommand)
  23.  
  24. //========================================================================================
  25. CTalkerCommand::CTalkerCommand(Environment* ev, ODCommandID id,  
  26.                             FW_CFrame* frame, DevUniv_STalker* talker)
  27.   : FW_CCommand(ev, id, frame, TRUE),
  28.     fSOMTalker(talker)
  29. {
  30.     // passing NULL for selection to FW_CCommand - we should not need one
  31.     FW_ASSERT(fSOMTalker);
  32.     if (id == cFasterCmd)
  33.         this->SetMenuStringsFromResource(ev, kUndoStringsID, 
  34.                             kUndoTalkFasterMsg, kRedoTalkFasterMsg);
  35.     else
  36.         this->SetMenuStringsFromResource(ev, kUndoStringsID, 
  37.                             kUndoTalkSlowerMsg, kRedoTalkSlowerMsg);
  38.     FW_END_CONSTRUCTOR
  39. }
  40.  
  41. //----------------------------------------------------------------------------------------
  42. CTalkerCommand::~CTalkerCommand()
  43. {
  44.     FW_START_DESTRUCTOR
  45.     // don't delete talker - it belongs to the frame
  46. }
  47.  
  48. //----------------------------------------------------------------------------------------
  49. void 
  50. CTalkerCommand::DoIt(Environment* ev)        // Override
  51. {
  52.     if (this->GetCommandID(ev) == cFasterCmd)
  53.         fSOMTalker->Faster(ev);
  54.     else
  55.         fSOMTalker->Slower(ev);
  56. }
  57.  
  58. //----------------------------------------------------------------------------------------
  59. void 
  60. CTalkerCommand::UndoIt(Environment* ev)        // Override
  61. {
  62.     if (this->GetCommandID(ev) == cFasterCmd)
  63.         fSOMTalker->Slower(ev);
  64.     else
  65.         fSOMTalker->Faster(ev);
  66. }
  67.  
  68. //----------------------------------------------------------------------------------------
  69. void 
  70. CTalkerCommand::RedoIt(Environment* ev)        // Override
  71. {
  72.     this->DoIt(ev);
  73. }
  74.